package generic;

/**
 * Created with IntelliJ IDEA
 * Description:自定义泛型接口学习
 * User:22954
 * Date:2024-02-28
 * Time:19:23
 */
@SuppressWarnings("all")
public class CustomInterfaceGeneric {
}

/**
 * 在继承泛型接口时,要指定泛型类型
 * 在实现接口函数时,泛型(<T,U>)会直接替换为指定的泛型类型(<Integer,String>)
 */
@SuppressWarnings("all")
interface AB extends AA<Integer,String>{
}

/**
 * 类实现泛型接口时,必须指定泛型类型
 * 在实现接口函数时,泛型(<T,U>)会直接替换为指定的泛型类型(<Integer,String>)
 */
@SuppressWarnings("all")
class BB implements AB{
    @Override
    public Integer get() {
        return null;
    }

    @Override
    public void hi(String s) {
    }
}
@SuppressWarnings("all")
interface AA<T,U>{
    int a=10;
//    T b;//接口中都是静态属性,静态属性不能使用泛型
    T get();
    void hi(U u);
}
@SuppressWarnings("all")
class CC implements AA<Integer,String>{

    @Override
    public Integer get() {
        return null;
    }

    @Override
    public void hi(String s) {

    }
}